package main

import "fmt"

//对于数组、切片、map来讲，他们共同的特点是，都是只能保存同一类型的数据。
//但结构体它就可以保存不同类型的数据
//一个结构体（struct）就是一组字段（field）的聚合。
//在go语言中，没有类和对象的概念。但用结构体，可以实现类似的功能。

//定义一个struct
type Vertex struct {
	X int //注意不能有逗号
	Y int
	Z string
}

func main() {
	//有点像new 一个class
	v := Vertex{1, 2, "ABC"}
	fmt.Println(v)
	//类似成员属性的访问
	v.X = 8
	fmt.Print("x=", v.X, " y=", v.Y, " z=", v.Z)

	//使用 %+v 可以打印出结构体的 key value
	fmt.Printf("\n %+v \n", v)
}
